package com.ruiyi.adrobot.service.device;

import com.ruiyi.adrobot.beans.Device;
import com.ruiyi.adrobot.beans.Robot;
import com.ruiyi.adrobot.beans.VirtualDevice;

import java.util.List;

public interface DeviceService {
    void buildBaseDevices_v1();

    List<Device> findAll();

    Device findByImei(String simCode);

    void saveOrUpdate(Device device);

    void resolveTxt();

    void buildModels();

    void buildVirtualDevice();

    Device randomDeviceByModelAndVirtualAndAccountInfosFunAndImeiNotInAndAccountInfosCreateDateBetween(String model, boolean virtual, Integer fun, List<String> usedImeis, String startDate, String endDate);

    Device findDeviceByImei(String imei, boolean virtual);

    Device findRandomNotUsedDevice(Integer fun, boolean virtual, List<Robot> canExcuteRobot);

    Device findOne(String imei);

    VirtualDevice findVirtualDeviceByImei(String imei);

    void saveOrUpdateVirtualDeviceAccounts(VirtualDevice virtualDevice);

    void removeUsedFunsById(String imei, Integer fun, Boolean virtual);

    void addOpenId();
}
